﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.CompilerServices;

namespace SyncStream.Core
{
    
    public abstract class FileSystemItem : IFileSystemItem
    {
        #region IFileSystemItem Members

        public int UserID
        {
            get; internal set;
        }

        public int FileSystemID
        {
            get;
            internal set;
        }

        public string Name
        {
            get;
            internal set;
        }

        public int ContainerID
        {
            get;
            internal set;
        }

        public int Attributes
        {
            get;
            internal set;
        }

        public int Size
        {
            get;
            internal set;
        }

        public byte[] Hash
        {
            get;
            internal set;
        }

        public DateTime CreatedOn
        {
            get;
            internal set;
        }

        public DateTime LastUpdatedOn
        {
            get;
            internal set;
        }

        public bool Alive
        {
            get;
            internal set;
        }

        public abstract bool IsFolder { get; }

        #endregion
    }
}
